1. Field of the Invention
The present technology relates to video, voice, modem and FAX processing systems and more particularly to how such systems allocate required media resources and the related processing power. The subject disclosure also relates to media resource boards and Host Media Processing (HMP) implementations and to the scalable, automatic usage of the combination of both components within one computer.
2. Background of the Related Art
In the modern world of telecommunications, people make phone calls to connect with each other. Phone devices typically are connected to a telephone exchange (also called a “switch”), whereas multiple public telephone exchanges are connected through a worldwide network, also known as the Public Switched Telephone Network (PSTN). Traditionally, telephone exchanges were owned, operated and located at public carriers only, and served companies and private persons. Calls using the PSTN generated phone charges, so in order to avoid such charges, business began to have privately owned local switches, such as a Private Branch eXchange (PBX), but also known as a Private Automatic Branch eXchange (PABX).
Various locations of a company can be interconnected by a dedicated line, such as a trunk line, so that the PBX can encompass the entire company. Users of the PBX share a certain number of outside lines for making and receiving telephone calls external to the PBX. The PBX performs a variety of functions, such as establishing and maintaining connections or circuits between the telephones of two users. Facsimile machines, communication modems, conferencing systems and other communication devices can be connected to the PBX as desired. The PBX also provides other features such as usage information for accounting purposes, speed dialling, call forwarding, music on hold and the like.
Another important medium of the modern communication is the well known, so-called “Internet.” The Internet transports data by using packets. The modern Internet is also hosted by public carriers, but the cost of Internet connectivity is relatively small compared to that of a public phone line. The data network that connects to the Internet could be a Local Area Network (LAN), a wide area network (WAN), and combinations thereof as is well known.
Since companies have begun to access phone lines and the Internet, two separate networks must be maintained by such companies. For cost saving reasons, it has become advantageous to replace the traditional phone system by an Internet-based system to eliminate the need for separate networks. To make phone calls over the Internet, voice and data are transported using the Internet Protocol (IP). Thus, not only can the PBX be eliminated, but the related network and maintenance costs can be as well.
Transporting phone calls over an IP network is commonly known as Voice over Internet Protocol (VoIP). In a VoIP system, computers, IP telephones and like devices (e.g., endpoints) are connected to an IP network. The voice data of such phone calls over the IP network is typically transferred with a specific Real Time Protocol (RTP). To reduce the required bandwidth of such voice RTP data streams, it is common to use voice compression and conversion algorithms known as CODEC (e.g., the Adaptive Differential Pulse Code Modulation ADPCM G.726 (ITU-T)). If the application is developed to run with a different voice data format than what is used at the IP network, a conversion called “transcoding” occurs. The endpoints of the IP network have a network card, such as an Ethernet card, for transporting data and the telephone calls. Such Ethernet cards are often located in a general purpose personal computer (PC).
To accommodate the many features of legacy telephone networks, applications, like Interactive Voice Response Systems (IVR) or Unified Messaging Servers (UMS), are using methods to detect and generate different tones (e.g., DTMF or generic tone detector, busy tone detector and the like), Voice Activity Detector (VAD), different modulations like Modem or Fax, Real Time Protocol (RTP), Echo Canceller, transcoding and voice compression. In order to process these different media, via what is referred to as Media Processing, additional applications are being developed. Often the communication drivers are purely software applications running at the endpoint since the legacy communication adapter does not need to be present in systems running VoIP. This arrangement is known as Host Media Processing (HMP). In other words, HMP is sophisticated software that manages applications and low-level hardware, as well as software technology housekeeping and coordination tasks.
For larger systems, such as those where many channels need to be processed, personal computer performance is often undesirably slow or intermittent. To enhance performance, it is common to add Media Resource Boards or communication adapters providing Digital Signal Processor (DSP) power to the application. The term media resource board, as used herein, also refers to a Digital Signal Processor (DSP) resource board, a DSP offload board or a DSP blade. In circumstances of hybrid installations (i.e., a system having HMP software and legacy communication adapters with DSP resources), or in circumstances where a Media Resource Board adds scalability to an HMP installation, the resources are typically allocated in a fixed manner, so that the specific media resources are handled by the Media Resource Board only (or the legacy communication adapter with DSP capabilities) if present in the system. As a result, if a system must serve a specific number of media streams with specific DSP processing power (e.g., FAX transcoding), all of it must be performed by the DSP board, leaving the host processor mostly unused for such a specific task, even if the host processor would be free and able to take over portions of such media processing tasks.
In other use cases, the HMP software might have sufficient power to serve all the media processing tasks running a mixture of different media resources (e.g., T.38 Fax, Clear Channel Fax and/or Modem, different voice compression codecs, etc.). All the different media resources consume different processor performance at the host processor—some very little (like ITU-T G.711), some a great deal (like V.34 Clear Channel Fax), and some moderate (like ITU-T G.729). As a result, it is difficult to predict the number of channels available in a HMP system because the availability depends highly on the usage of the media resource type mixture. If, in addition, another application is running in the same system and consuming host processing power, it may happen that all HMP channels are running out of performance resulting in VoIP dropouts and related media problems.
Referring to FIG. 1, a high level view of an IP Media Server 200 is shown. Such an IP Media Server 200 would be used to make connections in a telecommunications system environment (not shown). The IP Media Server 200 includes media streaming. The IP Media Server 200 basically includes applications 201, Host Media Processing (HMP) software 202 and, for high performance tasks, DSP offload functions within the installed Media Resource Board 203. The IP Media Server 200 only has DSP offload capabilities that are predefined in a fixed manner as noted above. If a media stream comes into the HMP software 202, the IP Media Server 200 decides, based on the characteristics of the media stream, whether to loop the RTP voice data through the Media Resource Board or not, regardless of available CPU power and without stream rerouting capabilities. It may also be that, with the Media Resource Board 203 present, all the data is always passed through the Media Resource Board 203 regardless of the characteristics of the media stream. Accordingly, processing power for the IP Media Server 200 is available but not utilized.